package com.zxy.ziems.server.foms.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * foms_user_info
 * @author
 */
@Data
public class UserInfo {

    private String id;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 工号
     */
    private String workId;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    private String name;

    /**
     * 状态 1-启用 2-禁用
     */
    private Integer status;

    /**
     * 1-超级管理员，2-普通用户
     */
    private Integer type;


    private String email;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime created;


    /**
     * 租户Id
     */
    private String tenantId;


    /**
     * 用户所属部门
     */
    private String deptId;

    /**
     * 用户父级部门
     */
    private List<Map<String, Object>> parentDepts;

    /**
     * 用户所属部门
     */
    private String deptName;

    private String roleIdSet;

    private String roleNameSet;

    /**
     * 职位名称
     */
    private String dutyNameSet;

    /**
     *
     */
    private Integer flag;

    /**
     * 头像图片id
     */
    private Long logoImgId;

    /**
     * 头像图片名称
     */
    private String logoName;

    /**
     * 头像图片url
     */
    private String logoUrl;

    /**
     * 头像图片 base64编码
     */
    private String logoBase64;

    /**
     * 性别 男：1  女：0
     */
    private Integer gender;

    /**
     * 页面权限
     */
    private Map<String, Boolean> resourceInfos;

    /**
     * 是否删除，null:是 0否
     */
    private Integer deleted;
}
